
package com.chengyu.eyc.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

import com.chengyu.eyc.utils.EycGenId;

import tk.mybatis.mapper.annotation.KeySql;

@Table(name = "eyc_insp_rule")
public class EycInspRule extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;
    @KeySql(genId = EycGenId.class)
    @Id
    @Column(name = "INSP_RULE_ID")
    private String inspRuleId;

    /**
     * 检测允许提前月数
     */
    @Column(name = "INSP_ADVANCE_MONTHS")
    private Integer inspAdvanceMonths;

    /**
     * 第1检验周期总月数
     */
    @Column(name = "MONTHS_1ST_PERIOD")
    private Integer months1stPeriod;

    /**
     * 第1周期每次检测间隔月数
     */
    @Column(name = "FIRST_YOI")
    private Integer firstYoi;

    /**
     * 第2检验周期总月数
     */
    @Column(name = "MONTHS_2ND_PERIOD")
    private Integer months2ndPeriod;

    /**
     * 第2周期每次检测间隔月数
     */
    @Column(name = "SECOND_YOI")
    private Integer secondYoi;

    /**
     * 第3检验周期总月数
     */
    @Column(name = "MONTHS_3TH_PERIOD")
    private Integer months3thPeriod;

    /**
     * 第3周期每次检测间隔月数
     */
    @Column(name = "THIRD_YOI")
    private Integer thirdYoi;

    /**
     * 第4检验周期总月数
     */
    @Column(name = "MONTHS_4TH_PERIOD")
    private Integer months4thPeriod;

    /**
     * 第4周期每次检测间隔月数
     */
    @Column(name = "FOURTH_YOI")
    private Integer fourthYoi;

    /**
     * 失效标志
     */
    @Column(name = "IS_ACTIVE")
    private Boolean isActive;

    /**
     * 获取第1周期每次检测间隔月数
     *
     * @return FIRST_YOI - 第1周期每次检测间隔月数
     */
    public Integer getFirstYoi() {
        return firstYoi;
    }

    /**
     * 获取第4周期每次检测间隔月数
     *
     * @return FOURTH_YOI - 第4周期每次检测间隔月数
     */
    public Integer getFourthYoi() {
        return fourthYoi;
    }

    /**
     * 获取检测允许提前月数
     *
     * @return INSP_ADVANCE_MONTHS - 检测允许提前月数
     */
    public Integer getInspAdvanceMonths() {
        return inspAdvanceMonths;
    }

    /**
     * @return INSP_RULE_ID
     */
    public String getInspRuleId() {
        return inspRuleId;
    }

    /**
     * 获取失效标志
     *
     * @return IS_ACTIVE - 失效标志
     */
    public Boolean getIsActive() {
        return isActive;
    }

    /**
     * 获取第1检验周期总月数
     *
     * @return MONTHS_1ST_PERIOD - 第1检验周期总月数
     */
    public Integer getMonths1stPeriod() {
        return months1stPeriod;
    }

    /**
     * 获取第2检验周期总月数
     *
     * @return MONTHS_2ND_PERIOD - 第2检验周期总月数
     */
    public Integer getMonths2ndPeriod() {
        return months2ndPeriod;
    }

    /**
     * 获取第3检验周期总月数
     *
     * @return MONTHS_3TH_PERIOD - 第3检验周期总月数
     */
    public Integer getMonths3thPeriod() {
        return months3thPeriod;
    }

    /**
     * 获取第4检验周期总月数
     *
     * @return MONTHS_4TH_PERIOD - 第4检验周期总月数
     */
    public Integer getMonths4thPeriod() {
        return months4thPeriod;
    }

    /**
     * 获取第2周期每次检测间隔月数
     *
     * @return SECOND_YOI - 第2周期每次检测间隔月数
     */
    public Integer getSecondYoi() {
        return secondYoi;
    }

    /**
     * 获取第3周期每次检测间隔月数
     *
     * @return THIRD_YOI - 第3周期每次检测间隔月数
     */
    public Integer getThirdYoi() {
        return thirdYoi;
    }

    /**
     * 设置第1周期每次检测间隔月数
     *
     * @param firstYoi 第1周期每次检测间隔月数
     */
    public void setFirstYoi(Integer firstYoi) {
        this.firstYoi = firstYoi;
    }

    /**
     * 设置第4周期每次检测间隔月数
     *
     * @param fourthYoi 第4周期每次检测间隔月数
     */
    public void setFourthYoi(Integer fourthYoi) {
        this.fourthYoi = fourthYoi;
    }

    /**
     * 设置检测允许提前月数
     *
     * @param inspAdvanceMonths 检测允许提前月数
     */
    public void setInspAdvanceMonths(Integer inspAdvanceMonths) {
        this.inspAdvanceMonths = inspAdvanceMonths;
    }

    /**
     * @param inspRuleId
     */
    public void setInspRuleId(String inspRuleId) {
        this.inspRuleId = inspRuleId == null ? null : inspRuleId.trim();
    }

    /**
     * 设置失效标志
     *
     * @param isActive 失效标志
     */
    public void setIsActive(Boolean isActive) {
        this.isActive = isActive;
    }

    /**
     * 设置第1检验周期总月数
     *
     * @param months1stPeriod 第1检验周期总月数
     */
    public void setMonths1stPeriod(Integer months1stPeriod) {
        this.months1stPeriod = months1stPeriod;
    }

    /**
     * 设置第2检验周期总月数
     *
     * @param months2ndPeriod 第2检验周期总月数
     */
    public void setMonths2ndPeriod(Integer months2ndPeriod) {
        this.months2ndPeriod = months2ndPeriod;
    }

    /**
     * 设置第3检验周期总月数
     *
     * @param months3thPeriod 第3检验周期总月数
     */
    public void setMonths3thPeriod(Integer months3thPeriod) {
        this.months3thPeriod = months3thPeriod;
    }

    /**
     * 设置第4检验周期总月数
     *
     * @param months4thPeriod 第4检验周期总月数
     */
    public void setMonths4thPeriod(Integer months4thPeriod) {
        this.months4thPeriod = months4thPeriod;
    }

    /**
     * 设置第2周期每次检测间隔月数
     *
     * @param secondYoi 第2周期每次检测间隔月数
     */
    public void setSecondYoi(Integer secondYoi) {
        this.secondYoi = secondYoi;
    }

    /**
     * 设置第3周期每次检测间隔月数
     *
     * @param thirdYoi 第3周期每次检测间隔月数
     */
    public void setThirdYoi(Integer thirdYoi) {
        this.thirdYoi = thirdYoi;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", inspRuleId=").append(inspRuleId);
        sb.append(", inspAdvanceMonths=").append(inspAdvanceMonths);
        sb.append(", months1stPeriod=").append(months1stPeriod);
        sb.append(", firstYoi=").append(firstYoi);
        sb.append(", months2ndPeriod=").append(months2ndPeriod);
        sb.append(", secondYoi=").append(secondYoi);
        sb.append(", months3thPeriod=").append(months3thPeriod);
        sb.append(", thirdYoi=").append(thirdYoi);
        sb.append(", months4thPeriod=").append(months4thPeriod);
        sb.append(", fourthYoi=").append(fourthYoi);
        sb.append(", isActive=").append(isActive);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

}